﻿#define _CRT_SECURE_NO_WARNINGS 1
#include "contact.h"
#include "seqlist.h"
//初始化通讯录
void contactinit(contact* con)
{
	slinit(con);
}
//添加通讯录
void contactadd(contact* con)
{
	peoinfo into;
	printf("输入姓名\n");
	scanf("%s", into.name);
	printf("输入性别\n");
	scanf("%s", into.gender);
	printf("输入年龄\n");
	scanf("%d", &into.age);
	printf("输入住址\n");
	scanf("%s", into.tel);
	printf("电话号码\n");
	scanf("%s", into.addr);
	printf("输入完成\n");
	slpushback(con,into);
}
//删除通讯录
int findweizhi(contact* con, char name[])
{
	for (int i = 0; i < con->size;i++)
	{
		if (0==strcmp(con->arr[i].name, name))
		{
			return i;
		}
		return -1;
	}
}
void contactdel(contact* con)
{
	char name[NAME__MAX];
	printf("输入要删除联系人的姓名\n");
	scanf("%s", name);
	int find = findweizhi(con, name);
	if (find == -1)
	{
		printf("未找到联系人，请重新选择\n");
		return;
	}
	slerase(con,find);
	printf("删除成功\n");
}
//展⽰通讯录数据
void contactshow(contact* con)
{
	printf("姓名  性别  年龄  住址  电话号码\n");
	for (int i = 0; i < con->size; i++)
	{
		printf("%s %s %d %s %s\n",
			con->arr[i].name,
			con->arr[i].gender,
			con->arr[i].age,
			con->arr[i].tel,
			con->arr[i].addr
		);
	}
}
//查找通讯录数据
void contactfind(contact* con)
{
	char Name[NAME__MAX]; 
	printf("输入要查找联系人的姓名\n");
	scanf("%s", Name);
	int find = findweizhi(con, Name);
	if (find == -1)
	{
		printf("要查找的联系人不存在\n");
		return;
	}
	
	printf("%s %s %d %s %s\n",
		    con->arr[find].name,
			con->arr[find].gender,
			con->arr[find].age,
			con->arr[find].tel,
			con->arr[find].addr
	      );
	slerase(con, find);
}
//修改通讯录数据
void contactmodify(contact* con)
{
	char name[NAME__MAX];
	printf("输入要修改联系人的姓名\n");
	scanf("%s", name);
	int find = findweizhi(con, name);
	if (find == -1)
	{
		printf("要查找的联系人不存在\n");
		return;
	}
	printf("输入新的姓名\n");
	scanf("%s",con->arr[find].name);
	printf("输入新的性别\n");
	scanf("%s", con->arr[find].gender);
	printf("输入新的年龄\n");
	scanf("%d", &con->arr[find].age);
	printf("输入新的住址\n");
	scanf("%s", con->arr[find].tel);
	printf("输入新的电话号码\n");
	scanf("%s", con->arr[find].addr);
	printf("修改完成\n");
}
//销毁通讯录数据
void contactdestroy(contact* con)
{
	sldestroy(con);
}